package com.itheima.Mapper;

import com.itheima.pojo.ProductFavorite;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ProductFavoriteMapper {

    /**
     * 添加收藏
     */
    void insert(ProductFavorite favorite);

    /**
     * 删除收藏
     */
    void delete(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 批量删除收藏
     */
    void batchDelete(@Param("userId") Integer userId, @Param("productIds") List<Integer> productIds);

    /**
     * 统计用户对商品的收藏数量
     */
    int countByUserAndProduct(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 获取用户收藏列表
     */
    List<ProductFavorite> list(@Param("userId") Integer userId);

    /**
     * 获取用户已收藏的商品ID列表
     */
    List<Integer> listFavoritedIds(@Param("userId") Integer userId, @Param("productIds") List<Integer> productIds);
}